package com.ungs.form.impl;

import java.util.List;

import com.ungs.bo.CalidadBO;
import com.ungs.bo.DetalleStockBO;
import com.ungs.bo.FormatoPapelBO;
import com.ungs.bo.StockMaterialBO;
import com.ungs.bo.VarianteBO;
import com.ungs.bo.impl.CalidadBOImpl;
import com.ungs.bo.impl.DetalleStockBOImpl;
import com.ungs.bo.impl.FormatoPapelBOImpl;
import com.ungs.bo.impl.StockMaterialBOImpl;
import com.ungs.bo.impl.VarianteBOImpl;
import com.ungs.entities.Calidad;
import com.ungs.entities.DetalleStock;
import com.ungs.entities.FormatoPapel;
import com.ungs.entities.StockMaterial;
import com.ungs.entities.Variante;
import com.ungs.filter.StockMaterialFilter;

public class StockFormImpl {
	private StockMaterialBO stockMaterialBO;
	private CalidadBO calidadBO;
	private VarianteBO varianteBO;
	private FormatoPapelBO formatoPapelBO;
	private DetalleStockBO detalleStockBO;

	public StockFormImpl() {
		stockMaterialBO = new StockMaterialBOImpl();
		calidadBO = new CalidadBOImpl();
		varianteBO = new VarianteBOImpl();
		formatoPapelBO = new FormatoPapelBOImpl();
		detalleStockBO = new DetalleStockBOImpl();
	}

	public void guardarStock(StockMaterial stockMaterial) {
		stockMaterialBO.guardar(stockMaterial);
	}

	public StockMaterial getStockMaterialPorFiltro(StockMaterial stockMaterial) {
		return stockMaterialBO.getStockMaterial(stockMaterial);
	}

	public void actualizarStock(StockMaterial stockMaterial) {
		stockMaterialBO.actualizar(stockMaterial);
	}

	public void eliminarStockMaterialLogica(StockMaterial stockMaterial) {
		stockMaterialBO.eliminarStockMaterial(stockMaterial);
	}

	public List<StockMaterial> getAllStockMaterial() {
		return stockMaterialBO.getAllStockMaterial();
	}

	public List<StockMaterial> getStockMaterialPorFiltroStock(
			StockMaterialFilter stockMaterialFilter) {
		return stockMaterialBO.getStockByFilter(stockMaterialFilter);
	}

	public List<Calidad> getAllCalidad() {
		return calidadBO.getAllCalidad();
	}

	public List<Variante> getAllVariante() {
		return varianteBO.getAllVariante();
	}

	public List<FormatoPapel> getAllFormatoPapel() {
		return formatoPapelBO.getAllFormatoPapel();
	}

	public List<DetalleStock> getAllDetalleStock() {
		return detalleStockBO.getAllDetalleStock();
	}

	public List<DetalleStock> getDetalleStockPorStockMaterial(
			StockMaterial stockMaterial) {
		return detalleStockBO.getDetalleByStockMaterial(stockMaterial);
	}

	public void guardarDetalleStock(DetalleStock detalleStock) {
		detalleStockBO.guardar(detalleStock);
	}

}
